/*
 * Reference Device Tree Source for the Bock-W board
 *
 * Copyright (C) 2013  Renesas Solutions Corp.
 * Copyright (C) 2013  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
 *
 * based on r8a7779
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 * Copyright (C) 2013 Simon Horman
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

/dts-v1/;
#include "r8a7778.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "bockw";
	compatible = "renesas,bockw", "renesas,r8a7778";

	aliases {
		serial0 = &scif0;
	};

	chosen {
		bootargs = "console=ttySC0,115200 ignore_loglevel ip=dhcp root=/dev/nfs rw";
		stdout-path = &scif0;
	};

	memory {
		device_type = "memory";
		reg = <0x60000000 0x10000000>;
	};

	fixedregulator3v3: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "fixed-3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};

	sound {
		compatible = "simple-audio-card";

		simple-audio-card,format = "left_j";
		simple-audio-card,bitclock-master = <&sndcodec>;
		simple-audio-card,frame-master = <&sndcodec>;

		sndcpu: simple-audio-card,cpu {
			sound-dai = <&rcar_sound>;
		};

		sndcodec: simple-audio-card,codec {
			sound-dai = <&ak4643>;
			system-clock-frequency = <11289600>;
		};
	};
};

&bsc {
	ethernet@18300000 {
		compatible = "smsc,lan9220", "smsc,lan9115";
		reg = <0x18300000 0x1000>;

		phy-mode = "mii";
		interrupt-parent = <&irqpin>;
		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
		reg-io-width = <4>;
		vddvario-supply = <&fixedregulator3v3>;
		vdd33a-supply = <&fixedregulator3v3>;
	};
};

&extal_clk {
	clock-frequency = <33333333>;
};

&i2c0 {
	status = "okay";

	ak4643: codec@12 {
		compatible = "asahi-kasei,ak4643";
		#sound-dai-cells = <0>;
		reg = <0x12>;
	};

	camera@41 {
		compatible = "oki,ml86v7667";
		reg = <0x41>;
	};

	camera@43 {
		compatible = "oki,ml86v7667";
		reg = <0x43>;
	};

	rx8581: rtc@51 {
		compatible = "epson,rx8581";
		reg = <0x51>;
	};
};

&mmcif {
	pinctrl-0 = <&mmc_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&fixedregulator3v3>;
	bus-width = <8>;
	broken-cd;
	status = "okay";
};

&irqpin {
	status = "okay";
};

&tmu0 {
	status = "okay";
};

&pfc {
	scif0_pins: serial0 {
		renesas,groups = "scif0_data_a", "scif0_ctrl";
		renesas,function = "scif0";
	};

	mmc_pins: mmc {
		renesas,groups = "mmc_data8", "mmc_ctrl";
		renesas,function = "mmc";
	};

	sdhi0_pins: sd0 {
		renesas,groups = "sdhi0_data4", "sdhi0_ctrl",
				  "sdhi0_cd";
		renesas,function = "sdhi0";
	};

	hspi0_pins: hspi0 {
		renesas,groups = "hspi0_a";
		renesas,function = "hspi0";
	};

	usb0_pins: usb0 {
		renesas,groups = "usb0";
		renesas,function = "usb0";
	};

	usb1_pins: usb1 {
		renesas,groups = "usb1";
		renesas,function = "usb1";
	};

	vin0_pins: vin0 {
		renesas,groups = "vin0_data8", "vin0_clk";
		renesas,function = "vin0";
	};

	vin1_pins: vin1 {
		renesas,groups = "vin1_data8", "vin1_clk";
		renesas,function = "vin1";
	};
};

&sdhi0 {
	pinctrl-0 = <&sdhi0_pins>;
	pinctrl-names = "default";

	vmmc-supply = <&fixedregulator3v3>;
	bus-width = <4>;
	status = "okay";
	wp-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
};

&hspi0 {
	pinctrl-0 = <&hspi0_pins>;
	pinctrl-names = "default";
	status = "okay";

	flash: flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spansion,s25fl008k", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <104000000>;
		m25p,fast-read;

		partition@0 {
			label = "data(spi)";
			reg = <0x00000000 0x00100000>;
		};
	};
};

&scif0 {
	pinctrl-0 = <&scif0_pins>;
	pinctrl-names = "default";

	status = "okay";
};
